Конфигурация DDR

Создание проекта Vivado

Откройте Vivado и нажмите Create Project.

Выберите имя и путь проекта, затем нажмите Next.

Выберите RTL Project (отметьте Do not specify sources at this time), затем нажмите Next.

Выберите правильную модель FPGA (например, xc7z020clg400-2), затем нажмите NextFinish.


Добавление IP Zynq Processing System

В Flow Navigator нажмите Create Block Design.

На холсте Block Design нажмите кнопку "+", чтобы добавить IP, найдите "Zynq", выберите Zynq7 Processing System и дважды щелкните, чтобы добавить его.

Нажмите Run Block Automation (это автоматически подключит интерфейс PS-PL; можно оставить настройки по умолчанию).


Настройка контроллера DDR

В Block Design дважды щелкните Zynq IP, чтобы открыть интерфейс конфигурации.

Перейдите на вкладку DDR Configuration:

Конфигурация контроллера DDR

VeryCapture_20250617143724

Конфигурация компонента памяти

Конкретная конфигурация выглядит следующим образом:

image-20250813175251175

Соответствующие параметры должны быть заполнены путем обращения к техническому описанию:

Training/Board Details

Формула для DQS to Clock Delay (нс) выглядит следующим образом:

DQStoClockDelay(ns)=PathDelayCLK0PathDelayDQS1000

Где:

Проверка формулы:

a. Рассчитайте задержку пути для CLK0

LCLK0=30.4 мм
Package DelayCLK0=80.4535 пс
Propagation Delay=160 пс/дюйм
LCLK0(дюйм)=30.425.41.1969 дюйм
Path DelayCLK0=80.4535+(1.1969×160)271.9575 пс

b. Рассчитайте задержку пути для DQS0

LDQS0=12.391 мм
Package DelayDQS0=105.056 пс
LDQS0(дюйм)=12.39125.40.4878 дюйм
Path DelayDQS0=105.056+(0.4878×160)183.056 пс

 

c. Рассчитайте задержку DQS0 относительно тактового сигнала

DQS to Clock DelayDQS0=271.9575183.05610000.0889 нс0.089 нсBoardDelay(нс)

d. Расчет для других сигналов DQS

Аналогично, для сигналов типа DQS1, DQS2 и т.д. просто замените соответствующие значения L и

Package Delay

и повторите шаги выше.

Формула для Board Delay (нс) выглядит следующим образом:

Board Delay=Path DelayCLK+Path DelayDQ2×1000

Где:

Проверка формулы:

a. Сначала рассчитайте задержку пути для CLK:

b. Затем рассчитайте задержку пути для (DQ[0:7]) (используя (DQ7:0) в качестве примера):

LDQ7:0=12.391 мм
Package DelayDQ7:0=105.056 пс
PathDelayDQ7:0=PackageDelayDQ7:0+LDQ7:0(дюйм)×PropagationDelay
PathDelayDQ7:0=105.056+0.4878×160
PathDelayDQ7:0=105.056+78.048
PathDelayDQ7:0=183.104пс

 

c. Рассчитайте (Board\ Delay) по формуле:

Board Delay=Path DelayCLK+Path DelayDQ2×1000
Board Delay=0.22753075 нс0.224 нс

system calculates automatically

Рассчитано: Система рассчитывает автоматически. Мы получаем длины трасс сети DDR из программного обеспечения для проектирования печатных плат (такого как Altium Designer, Cadence и т.д.), вводим их в столбец Length, и Vivado автоматически рассчитает время задержки. Интерфейс выглядит следующим образом:

VeryCapture_20250617155859

Поскольку у нас два чипа DDR3, есть две пары дифференциальных тактовых сигналов. CLK0, CLK1, DQS0 и DQS1 — это сигналы для первого чипа DDR3, где CLK0/CLK1 предоставляют тактовый сигнал, а DQS0/DQS1 управляют 16-битной шиной данных. То же самое относится и ко второму чипу DDR3.

VeryCapture_20250617163613

Включение расширенных опций

Этот раздел можно оставить с настройками по умолчанию.

Запуск приложения в Vitis

Выберите шаблон, специально предназначенный для тестирования DDR:

VeryCapture_20250620101557

Скомпилируйте и запустите проект:

VeryCapture_20250620102934

Отображение результатов запуска:

img

VeryCapture_20250620102204

VeryCapture_20250620102220

Объяснение результатов:

Сначала объяснение "глазковой диаграммы":

Глазковая диаграмма DDR — это график, образованный наложением форм сигналов множества битов данных, наблюдаемых на осциллографе для высокоскоростных последовательных сигналов. Она названа так из-за своего сходства с "глазом". Это ключевой инструмент для оценки целостности сигнала памяти DDR (Double Data Rate).

Ключевые параметры

bАнализ